﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;

namespace Santa_sAdventure.Model
{
    public abstract class Enemy
    {
        // Is enemy dead
        protected bool m_isDead = false;
        // Enemy Position
        internal Vector2 Position { get; set; }
        // Enemy size
        internal Vector2 Size { get; set; }

        // Kill enemy
        internal abstract void KillEnemy();

        // Returns if enemy is dead or not
        internal bool IsDead { get { return m_isDead; } }

        // Enemy velocity
        internal Vector2 Velocity { get; set; }

        // Move enemy
        internal abstract void Update(float a_totalSeconds);

        // Return animationplayer
        internal abstract AnimationPlayer GetAnimationPlayer();

        // Return spriteeffect
        internal abstract SpriteEffects GetSpriteEffect();


        // CHange moving direction
        internal void ChangeDirection()
        {
            Velocity = new Vector2(Velocity.X * -1, Velocity.Y);
        }
    }
}
